Expand description
API for loading, scaling, positioning and rasterizing OpenType font glyphs.
§Example
use ab_glyph::{point, Font, FontRef, Glyph};
let font = FontRef::try_from_slice(include_bytes!("../../dev/fonts/Exo2-Light.otf"))?;
// Get a glyph for 'q' with a scale & position.
let q_glyph: Glyph = font
.glyph_id('q')
.with_scale_and_position(24.0, point(100.0, 0.0));
// Draw it.
if let Some(q) = font.outline_glyph(q_glyph) {
q.draw(|x, y, c| { /* draw pixel `(x, y)` with coverage: `c` */ });
}
Modules§
Structs§
Font
implementor that wraps another concreteFont + 'static
type storing in anArc
.- Font data handle stored as a
&[u8]
+ parsed data. SeeFont
for more methods. - Font data handle stored in a
Vec<u8>
+ parsed data. SeeFont
for more methods. - A glyph with pixel scale & position.
- Glyph id.
- Glyph
Image Deprecated Old version ofv2::GlyphImage
. - Invalid font data error.
- A “raw” collection of outline curves for a glyph, unscaled & unpositioned.
- A glyph that has been outlined at a scale & position.
- An (x, y) coordinate.
- Pixel scale.
- 2D scale factors for use with unscaled metrics.
- A
Font
and an associated pixel scale. - A rectangle, with top-left corner at
min
, and bottom-right corner atmax
.
Enums§
- Valid formats for a
GlyphImage
. - Glyph outline primitives.
Traits§
- Functionality required from font data.
- A
Font
with an associated pixel scale. This can be used to provide pixel scale values for glyph advances, heights etc. - Logic for variable fonts.
Functions§
Point
constructor.